This invention relates to a disk controller for controlling data transfer between a host computer and a disk drive.
In recent years, a large-scale storage such as a TCO reduction by storage consolidation and strategic data utilization is gaining higher importance. As the consolidation progresses, higher scalability such as an increase in the number of ports and capacity, and improvement in performance or function in a storage device is required.
Meanwhile, there is a very high demand for a reduction in storage hardware price on the market. A storage capacity unit price has been reduced by 20% each year. To follow this trend, costs required for an entire system including an architecture of the storage device must be reduced.
As a solution for realization of both the high-scalability and low costs of the storage device, a cluster-type disk controller which cluster-connects a plurality of disk controllers has been proposed. According to the cluster-type disk controller, scalability can be greatly enhanced by interconnecting the plurality of disk controllers. By preparing the disk controllers in a number that meets user's needs, unnecessary hardware resources can be eliminated to reduce the costs. Thus, it is possible to realize both the high scalability and low costs by using the cluster-type disk controller.
For example, the background art (cluster-type disk controller) described above is disclosed in JP 2005-228245 A.
In a large-scale system such as the cluster-type disk controller, many jobs requested from a plurality of users are simultaneously executed. These jobs perform necessary processing by partially sharing or exclusively using the hardware resources in the system. In particular, a memory that is a typical hardware resource is divided spatially/temporally to be managed, and divided areas are allocated to the necessary processing. Accordingly, management of memory resources so as not to interfere with other jobs, in other words, protection of memory areas, is important.
A page table virtual storage method has been widely employed to protect data stored in the memory. According to the page table virtual storage method, a physical memory address space and access attributes (access permission, read permission, write permission, or the like) are defined for each logical memory address space, and overlapping of physical hardware resources is prevented even when a plurality of jobs share the same logical address space. Moreover, improper access is eliminated by setting an access limit for each address space.
According to a page table system, a page table is provided for each processor (job) to convert an address. Normally, a cache unit (e.g., TLB) is often provided to convert an address at a high speed. An example of memory protection by the page table system is described in JP 2003-242030 A.